<?php
  //绘制验证码

  //将页面输出类型改为图片格式
  header("Content-Type:image/png");


    //画图像
    $im=imagecreatetruecolor(120, 30);

    //给图片填充背景颜色、
    $bgcolor=imagecolorallocate($im, 255, 255, 255);

    //画背景并给背景添加颜色
    imagefilledrectangle($im, 0, 0, 120, 30, $bgcolor);

    //画点
    for ($i=0;$i<500;$i++) {
        $d_color=imagecolorallocate($im,mt_rand(0, 255),mt_rand(0, 255),mt_rand(0, 255));//颜色随机
        imagesetpixel($im, mt_rand(10, 120), mt_rand(10, 120), $d_color);//mt_rand(10, 200)坐标随机
    }

    //画线
     for ($i=0;$i<20;$i++) {
        $l_color=imagecolorallocate($im,mt_rand(0, 255),mt_rand(0, 255),mt_rand(0, 255));
        imagearc($im, mt_rand(10, 120), mt_rand(10, 120), mt_rand(0, 120), mt_rand(0, 30), mt_rand(-180, 180), mt_rand(-180, 180), $l_color);
    }

    //定义填充的内容   一般不加数字0，因为0跟o难以分辨
      $str='123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';

     for ($i=0; $i <=4 ; $i++) {
         $j=mt_rand(0,strlen($str)-1);//随机范围在填充内容的长度之间
         $font=$str[$j];//获取对应下标的字符
          $font_color=imagecolorallocate($im,mt_rand(0, 255),mt_rand(0, 255),mt_rand(0, 255));
       imagefttext($im,18,0,20*$i,mt_rand(15, 20),$font_color,'C:/Windows/Fonts/simsun.ttc',$font);
     }


    ob_clean();//清除缓存
    //生成图片，类型为png image后缀名可以改变
   imagepng($im);

   //销毁图片
   imagedestroy($im);


  ?>